//  the read is paired in sequencing; no matter whether it is mapped in a pair
const BAM_FPAIRED = 1;
//  the read is mapped in a proper pair
const BAM_FPROPER_PAIR = 2;
//  the read itself is unmapped; conflictive with BAM_FPROPER_PAIR
const BAM_FUNMAP = 4;
//  the mate is unmapped
const BAM_FMUNMAP = 8;
//  the read is mapped to the reverse strand
const BAM_FREVERSE = 16;
//  the mate is mapped to the reverse strand
const BAM_FMREVERSE = 32;
//  this is read1
const BAM_FREAD1 = 64;
//  this is read2
const BAM_FREAD2 = 128;
//  not primary alignment
const BAM_FSECONDARY = 256;
//  QC failure
const BAM_FQCFAIL = 512;
//  optical or PCR duplicate
const BAM_FDUP = 1024;
//  supplementary alignment
const BAM_FSUPPLEMENTARY = 2048;
